package cn.yx.common.log.annotation;

import java.lang.annotation.*;

/**
 * <p>系统日志注解</p>
 *
 * @author Wgssmart
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SysLog {

    /**
     * 系统日志描述
     *
     * @return 系统日志描述
     */
    String description() default "";

    /**
     * 是否输出请求数据日志
     *
     * @return
     */
    boolean requestData() default true;

    /**
     * 指定请求数据里哪些属性不需要记录
     *
     * @return
     */
    String[] excludeProperties() default {};

    /**
     * 是否输出响应数据日志
     *
     * @return
     */
    boolean responseData() default true;

    /**
     * 是否启用logger
     *
     * @return
     */
    boolean enableLogger() default true;

    /**
     * 是否保存到DB
     *
     * @return
     */
    boolean saveToDb() default true;

}